﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Gerencial_Fisio_Nutry.Tela
{
    public partial class Fornecedor : Form
    {
        public Fornecedor()
        {
            InitializeComponent(); abertura();
        }

        private void pbNovo_Click(object sender, EventArgs e)
        {
            habilitaCampo(); isNovo = true; isAlterar = false; limpaCampos();
        }
        bool isNovo; bool isAlterar;
        private void pAlterar_Click(object sender, EventArgs e)
        {
            isNovo = false; isAlterar = true;
            habilitaCampo();
            
        }

        private void pAcao_Click(object sender, EventArgs e)
        {

           if (isNovo && MessageBox.Show
                ("Inserir Novo Fornecedor?", "Confirme sua Opcao", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                new Banco.MetodoBanco().cadastrarFornecedor(tbCNPJ.Text,tbRazaoSocial.Text, tbMail.Text,tbEndereco.Text, tbBairro.Text,
                    tbCidade.Text, tbEstado.Text, tbCep.Text, tbNumero.Text, tbTelefone.Text,DateTime.Now, tbRazaoSocial.Text, tbIE.Text,int.Parse( tbCRT.Text));
                limpaCampos(); desbilitaCampo(); abertura();
 
           }
            else if (isAlterar && MessageBox.Show
                ("Alterar Fornecedor?", "Confirme sua Opcao", MessageBoxButtons.YesNo) == DialogResult.Yes) {
                    new Banco.MetodoBanco().alterarFornecedor(int.Parse(tbCodigo.Text), tbCNPJ.Text, tbRazaoSocial.Text, tbMail.Text,
                        tbEndereco.Text, tbBairro.Text, tbCidade.Text, tbEstado.Text, tbCep.Text, tbNumero.Text, tbTelefone.Text);

                    limpaCampos(); desbilitaCampo(); abertura();
            }
        }
        public void limpaCampos()
        {
            tbCodigo.Text = "";
            tbCNPJ.Text = "";
            tbRazaoSocial.Text = "";
            tbMail.Text = "";
            tbEndereco.Text = "";
            tbEstado.Text = "";
            tbBairro.Text = "";
            tbCidade.Text = "";
            tbCep.Text = "";
            tbNumero.Text = "";
            tbTelefone.Text = "";

            tbDataCadastro.Text = "";
        }
        public void desbilitaCampo()
        {
            pGeral.Enabled = false;
            tbBairro.Enabled = false;
            tbCep.Enabled = false;
            tbCidade.Enabled = false;
            tbCNPJ.Enabled = false;
            tbCodigo.Enabled = false;
            tbDataCadastro.Enabled = false;
            tbEndereco.Enabled = false;
            tbEstado.Enabled = false;
            tbMail.Enabled = false;
            tbNumero.Enabled = false;
            tbRazaoSocial.Enabled = false;
        }
        public void habilitaCampo()
        {
            pGeral.Enabled = true;
            tbBairro.Enabled = true;
            tbCep.Enabled = true;
            tbCidade.Enabled = true;
            tbCNPJ.Enabled = true;
            tbCodigo.Enabled = false;
            tbDataCadastro.Enabled = false;
            tbEndereco.Enabled = true;
            tbEstado.Enabled = true;
            tbMail.Enabled = true;
            tbNumero.Enabled = true;
            tbRazaoSocial.Enabled = true;
        }

        private void dgVFornecedor_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
           
            try
            {
                carregarTela(int.Parse(dgVFornecedor.Rows[e.RowIndex].Cells[0].Value.ToString()));
            }
            catch
            {
            }
        }



        public void carregarTela(int cod_fornecedor)
        {
            Logica.Fornecedor fornec = new Banco.MetodoBanco().fornecedorByCodigo(cod_fornecedor);
            desbilitaCampo();
            tbCodigo.Text = fornec.cod_fornecedor.ToString("00000");
            tbCNPJ.Text = fornec.cnpj;
            tbRazaoSocial.Text = fornec.razao_social;
            tbMail.Text = fornec.email;
            tbEndereco.Text = fornec.endereco;
            tbEstado.Text = fornec.estado;
            tbBairro.Text = fornec.bairro;
            tbCidade.Text = fornec.cidade;
            tbCep.Text = fornec.cep;
            tbNumero.Text = fornec.numero;
            tbTelefone.Text = fornec.telefone;

            tbDataCadastro.Text = fornec.datacadastro.ToShortDateString();

        }
        public void abertura()
        {

            dgVFornecedor.DataSource = new Banco.MetodoBanco().todosFornecedores();


            dgVFornecedor.Columns[0].HeaderText = "Codigo";
            dgVFornecedor.Columns[1].HeaderText = "CNPJ";
            dgVFornecedor.Columns[2].HeaderText = "Razão Social";

            dgVFornecedor.Columns[0].Width = 83 + 60;
            dgVFornecedor.Columns[1].Width = 85 + 80;
            dgVFornecedor.Columns[2].Width = 160 + 80;

        }
    }
}
